<?php

include_once('class_sql.php');
include_once('class_sql2.php');

class competicioModel {
    
    public $jornada;
    public $temporada = 10;
    public $tipo;
    public $competicion;
    public $grupo;            
    public $fecha_inicio = '2014-06-30 00:00';
    public $fecha_final = '2015-07-01 00:00';
    
    function __construct($temporada = 1415, $tipo = 0, $competicio = 0, $grup = 0){                
        $this->temporada = $this->getTemporada($temporada);
        $this->tipo = $tipo;
        $result = $this->getRelacion2($competicio, $grup);                
        $this->competicion = $result[0]->COD_COMPETICION;
        $this->grupo = $result[0]->COD_GRUPO;                        
    }
    
    public function jornada_actual(){
        $db = DataBase::conectar();
        $db->setQuery("SELECT *
                        FROM `nfg_cmp_fechas_jornadas`
                        WHERE cod_portal = 100
                           AND codgrupo = '$this->grupo'
	                       AND fecha BETWEEN '$this->fecha_inicio' AND '$this->fecha_final' 
	                       AND fecha < NOW()
                        ORDER BY fecha DESC
                        LIMIT 1");
                      
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function getRelacion($valor, $tipo){
        $db = DataBase2::conectar();
        $db->setQuery("SELECT * FROM `competiciones` WHERE $tipo = '$valor' and COD_TEMPORADA = 10");
                      
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function getRelacion2($valor1, $valor2){
        $db = DataBase2::conectar();
        $db->setQuery("SELECT * FROM `competiciones` WHERE NOM_COMPETICION_URL = '$valor1' AND grupo_url = '$valor2' AND cod_temporada = '$this->temporada'");
                      
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function getCatCompeticion(){
        $db = DataBase::conectar();
        $db->setQuery("SELECT codcategoria
                        FROM `nfg_cmp_competiciones_categorias`
                        WHERE  codcompeticion = $this->competicion");
                      
        $result = $db->loadObjectList();
        return $result[0];
    }
    
    public function getRelacionEquipo($modo, $equipo){
        $db = DataBase2::conectar();
        if($modo == 2){
            $categoria = $this->getCatCompeticion();
            $db->setQuery("SELECT * 
                        FROM equipos
                        WHERE nombre_equipo_url = '$equipo'
                            AND codcategoria = $categoria->codcategoria
                        ORDER BY fecha_actualizacion DESC
                        LIMIT 1");
        } else if ($modo == 1) {
           $db->setQuery("SELECT * 
                        FROM equipos
                        WHERE codequipo = $equipo
                        ORDER BY fecha_actualizacion DESC
                        LIMIT 1"); 
        }
        $result = $db->loadObjectList();
        return $result[0];
    }
    
    public function getTemporada($temporada){
        $db = DataBase2::conectar();
        $db->setQuery("SELECT codigo FROM `temporadas` WHERE nombre = '$temporada'");
                      
        $result = $db->loadObjectList();
        $result = $result[0]->codigo;
        return $result;
    }
    
    public function getListaActas($jornada = 0, $jornada_inicial = 0){
        $db = DataBase::conectar();
        if($jornada == 0){
            $db->setQuery("SELECT GROUP_CONCAT(DISTINCT codacta SEPARATOR ', ') AS lista
			             FROM `nfg_cmp_actas` 
			             WHERE cod_portal = 100 
				            AND codtemporada = $this->temporada 
				            AND codgrupo = $this->grupo
				        GROUP BY cod_portal");
        } else if($jornada_inicial != 0) {
        $db->setQuery("SELECT GROUP_CONCAT(DISTINCT codacta SEPARATOR ', ') AS lista
			             FROM `nfg_cmp_actas` 
			             WHERE cod_portal = 100 
				            AND codtemporada = $this->temporada 
				            AND jornada BETWEEN $jornada_inicial AND $jornada 
				            AND codgrupo = $this->grupo
				        GROUP BY cod_portal");
        } else {
            $db->setQuery("SELECT GROUP_CONCAT(DISTINCT codacta SEPARATOR ', ') AS lista
			             FROM `nfg_cmp_actas` 
			             WHERE cod_portal = 100 
				            AND codtemporada = $this->temporada 
				            AND jornada = $jornada 
				            AND codgrupo = $this->grupo
				        GROUP BY cod_portal");
        }     
        $result = $db->loadObjectList();
        $result = $result[0]->lista;
        return $result;
    }
    
    public function getListaEquipos(){
        $db = DataBase::conectar();
        $db->setQuery("SELECT codequipo
                        FROM nfg_cmp_grupos_equipos
                        WHERE codgrupo = $this->grupo");
                      
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function getDatosCampo($campo){
        $db = DataBase::conectar();
        $db->setQuery("SELECT codigo_campo, direccion, b.nombre, codigo_provincia_iso
                        FROM nfg_campos AS a LEFT JOIN nfg_provincias AS b ON a.`CODIGO_PROVINCIA` = b.`CODIGO_PROVINCIA`
                        WHERE cod_portal = 100
	                       AND codigo_campo = $campo");
                      
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function getSancionesActa($acta){
        $db = DataBase::conectar();
        $db->setQuery("SELECT cod_tiposancion, COUNT(cod_tiposancion) AS total
                        FROM nfg_cmp_sanciones
                        WHERE cod_portal = 100
	                       AND codacta = $acta
                        GROUP BY cod_tiposancion");
                      
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function getCodActa($local, $visitante){
        $db = DataBase::conectar();
        $db->setQuery("SELECT * 
                        FROM nfg_cmp_actas
                        WHERE cod_portal = 100
                            AND codequipo_casa = '$local'
                            AND codequipo_fuera = '$visitante'
                            AND codgrupo = $this->grupo");
                                                 
        $result = $db->loadObjectList();
        return $result[0];
    }
    
    //------------------------COMPETICIO---------------------------------
    
    public function getCategoria(){
        $db = DataBase::conectar();
        $db->setQuery("SELECT * 
                        FROM `nfg_cmp_grupos_categorias` 
                        WHERE cod_portal = 100
                            and `COD_GRUPO_CATEGORIA` > 0;");
                      
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function getCompeticiones($categoria){
        $db = DataBase::conectar();
        $db->setQuery("SELECT codcompeticion, nombre_competicion as nombre
                        FROM `nfg_cmp_competiciones` AS c
                        WHERE codtemporada = '$this->temporada'
                            AND visible_web = 1
                            AND codcompeticion IN (SELECT b.`CODCOMPETICION` 
				                                    FROM `nfg_categorias` AS a RIGHT JOIN `nfg_cmp_competiciones_categorias` AS b ON a.`CODIGO_CATEGORIA` = b.`CODCATEGORIA` 
				                                    WHERE a.cod_portal = 100 
					                                   AND cod_grupo_categoria = '$categoria'
				                                    )
                        ORDER BY orden");
                      
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function autoCompeticion($valor, $categoria){
        $db = DataBase::conectar();
        $db->setQuery("SELECT codcompeticion, nombre_competicion as nombre
                        FROM `nfg_cmp_competiciones` AS c
                        WHERE codtemporada = '$this->temporada'
                            AND visible_web = 1
                            AND codcompeticion IN (SELECT b.`CODCOMPETICION` 
				                                    FROM `nfg_categorias` AS a RIGHT JOIN `nfg_cmp_competiciones_categorias` AS b ON a.`CODIGO_CATEGORIA` = b.`CODCATEGORIA` 
				                                    WHERE a.cod_portal = 100 
					                                   AND cod_grupo_categoria = '$categoria'
				                                    )
                            AND nombre_competicion LIKE '%$valor%'
                        ORDER BY orden");
                      
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function getGrupos($competicion){
        $db = DataBase::conectar();
        $db->setQuery("SELECT codgrupo, codcompeticion, nombre, orden 
                        FROM `nfg_cmp_grupos` 
                        WHERE cod_portal = 100 
                            AND`codcompeticion` = '$competicion' 
                        ORDER BY RIGHT(nombre,2)");
                      
        $result = $db->loadObjectList();
        return $result;
    }
    
    //------------------------RESUM--------------------------------------
    
    public function getEscudosClubs(){
        $db = DataBase::conectar();
        $resultado = Array();
         $db->setQuery("SELECT codclub, a.codequipo AS codequipo, CONCAT_WS(' ', nombre_equipo, categoria_club) AS nombre_equipo
                            FROM `nfg_cmp_equipos` AS a RIGHT JOIN `nfg_cmp_grupos_equipos` AS b ON a.codequipo = b.codequipo
                            WHERE a.cod_portal = 100
                                AND b.codgrupo = '$this->grupo'");
        $result = $db->loadObjectList();

        foreach($result as $valor){
            $db->setQuery("SELECT CONCAT_WS('/', path, fichero) AS escudo
                            FROM `nfg_cmp_clubes` AS a LEFT JOIN `n_ficheros` AS b ON a.`CODIGO_FICHERO` = b.`CODIGO_FICHERO`
                            WHERE `CODCLUB` = $valor->codclub");
            $escudo = $db->loadObjectList();
            $resultado[$valor->codequipo] = [$valor->codclub, $valor->nombre_equipo, $escudo[0]->escudo];
        }                                   
        return $resultado;
    }
    
    public function getTiempoInvatibleEquipo($jornada, $jornada_inicial){
        $db = DataBase::conectar();
        
        $lista_actas = $this->getListaActas($jornada, $jornada_inicial);
        
        $db->setQuery("SELECT codacta, jornada, `CODEQUIPO_CASA`, 
	                           IFNULL((SELECT GROUP_CONCAT(minuto ORDER BY minuto ASC SEPARATOR '@')
	                           FROM nfg_cmp_participantes_actas AS a LEFT JOIN nfg_cmp_goles AS b ON a.`CODPARTICIPANTE` = b.`CODJUGADOR`
	                           WHERE a.cod_portal = 100
		                          AND b.`COD_PORTAL` = 100
		                          AND ((a.codequipo = actas.codequipo_fuera AND codtipogol != 102) OR (a.codequipo = actas.codequipo_casa AND b.codtipogol = 102))
		                          AND a.codacta = actas.`CODACTA`
		                          AND b.codacta = actas.`CODACTA`
	                           GROUP BY b.codacta), 'x') AS encajados_casa,
	                       `CODEQUIPO_FUERA`,
	                           IFNULL((SELECT GROUP_CONCAT(minuto ORDER BY minuto ASC SEPARATOR '@') 
	                           FROM nfg_cmp_participantes_actas AS a LEFT JOIN nfg_cmp_goles AS b ON a.`CODPARTICIPANTE` = b.`CODJUGADOR`
	                           WHERE a.cod_portal = 100
		                          AND b.`COD_PORTAL` = 100
		                          AND ((a.codequipo = actas.codequipo_casa AND codtipogol != 102) OR (a.codequipo = actas.codequipo_fuera AND b.codtipogol = 102))
		                          AND a.codacta = actas.`CODACTA`
		                          AND b.codacta = actas.`CODACTA`
	                           GROUP BY b.codacta), 'x') AS encajados_fuera 
                        FROM nfg_cmp_actas AS actas
                        WHERE cod_portal = 100
	                       AND codacta IN ($lista_actas)");
                      
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function getEquipoPrimera($equipo, $jornada, $jornada_inicial){
        $db = DataBase::conectar();
        
        $lista_actas = $this->getListaActas($jornada, $jornada_inicial);
        
        $db->setQuery("SELECT codacta, CASE 
			                             WHEN codequipo_casa = $equipo && goles_casa1 < goles_fuera1 THEN 'perdido' 
			                             WHEN codequipo_casa = $equipo && goles_casa1 > goles_fuera1 THEN 'ganado' 
			                             WHEN codequipo_fuera = $equipo && goles_casa1 > goles_fuera1 THEN 'perdido' 
			                             WHEN codequipo_fuera = $equipo && goles_casa1 < goles_fuera1 THEN 'ganado' 
			                             ELSE 'empatado' 
                                        END AS resultado,
                                        CASE 
			                             WHEN codequipo_casa = $equipo && goles_casa1 < goles_fuera1 THEN 0 
			                             WHEN codequipo_casa = $equipo && goles_casa1 > goles_fuera1 THEN goles_casa2 - goles_fuera2
			                             WHEN codequipo_fuera = $equipo && goles_casa1 > goles_fuera1 THEN 0 
			                             WHEN codequipo_fuera = $equipo && goles_casa1 < goles_fuera1 THEN goles_fuera2 - goles_casa2
			                             ELSE 0 
                                        END AS goles 
                        FROM `nfg_cmp_actas` 
                        WHERE cod_portal = 100 
	                       AND codacta IN ($lista_actas)
	                       AND (codequipo_casa = $equipo OR codequipo_fuera = $equipo) 
	                       AND jornada > 0 
                        ORDER BY fecha DESC ");
                        
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function getEquipoSegunda($equipo, $jornada, $jornada_inicial){
        $db = DataBase::conectar();
        
        $lista_actas = $this->getListaActas($jornada, $jornada_inicial);
        
        $db->setQuery("SELECT codacta, CASE 
			                             WHEN codequipo_casa = $equipo && goles_casa2 < goles_fuera2 THEN 'perdido' 
			                             WHEN codequipo_casa = $equipo && goles_casa2 > goles_fuera2 THEN 'ganado' 
			                             WHEN codequipo_fuera = $equipo && goles_casa2 > goles_fuera2 THEN 'perdido' 
			                             WHEN codequipo_fuera = $equipo && goles_casa2 < goles_fuera2 THEN 'ganado' 
			                             ELSE 'empatado' 
                                        END AS resultado,
                                        CASE 
			                             WHEN codequipo_casa = $equipo && goles_casa2 < goles_fuera2 THEN 'perdido' 
			                             WHEN codequipo_casa = $equipo && goles_casa2 > goles_fuera2 THEN goles_casa2 - goles_fuera2 - goles_casa1
			                             WHEN codequipo_fuera = $equipo && goles_casa2 > goles_fuera2 THEN 'perdido' 
			                             WHEN codequipo_fuera = $equipo && goles_casa2 < goles_fuera2 THEN goles_fuera2 - goles_casa2 - goles_casa1
			                             ELSE 'empatado' 
                                        END AS goles 
                        FROM `nfg_cmp_actas` 
                        WHERE cod_portal = 100 
	                       AND codacta IN ($lista_actas)
	                       AND (codequipo_casa = $equipo OR codequipo_fuera = $equipo) 
	                       AND jornada > 0 
                        ORDER BY fecha DESC ");
                      
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function getUltimoEnfrentamiento($equipo1, $equipo2){
        $db = DataBase::conectar();
        
        $db->setQuery("SELECT *
                        FROM nfg_cmp_actas
                        WHERE cod_portal = 100
	                       AND (codequipo_casa = $equipo1 OR codequipo_fuera = $equipo1) 
	                       AND (codequipo_casa = $equipo2 OR codequipo_fuera = $equipo2) 
	                       AND comienzo1 < NOW()
                        ORDER BY comienzo1 DESC
                        LIMIT 1");
                      
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function getProximoPartido(){
        $db = DataBase::conectar();
        
        $db->setQuery("SELECT codacta, codequipo_casa, codequipo_fuera, codigo_campo, campo, ciudad, LEFT(comienzo1, 10) AS fecha, RIGHT(comienzo1, 8) AS hora
                        FROM nfg_cmp_actas 
                        WHERE cod_portal = 100
	                       AND codgrupo = $this->grupo
	                       AND comienzo1 > NOW()
                        GROUP BY comienzo1 ASC
                        LIMIT 1");
                      
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function getGoleadorGrupo($jornada, $jornada_inicial){
        $db = DataBase::conectar();
        
        $lista_actas = $this->getListaActas($jornada, $jornada_inicial);
        
        $db->setQuery("SELECT goles, GROUP_CONCAT(DISTINCT nombre SEPARATOR '@') AS nombre
                        FROM (
                            SELECT (SELECT CONCAT_WS('-', nombre, codequipo) 
					           FROM nfg_cmp_participantes AS a LEFT JOIN `nfg_cmp_participantes_actas` AS b ON a.codparticipante = b.codparticipante 
					           WHERE a.cod_portal = 100 
						          AND b.cod_portal = 100 
		                          AND a.codparticipante = codjugador 
						          AND b.codacta = nfg_cmp_goles.codacta) 
					           AS nombre, 
			                     codjugador, COUNT(codjugador) AS goles, codacta 
                            FROM `nfg_cmp_goles` 
                            WHERE cod_portal = 100 
	                           AND codtipogol != 102 
	                           AND codacta > 700000 
	                           AND codacta IN ($lista_actas) 
                            GROUP BY codjugador
                            ORDER BY goles DESC) AS datos 
                        GROUP BY goles
                        ORDER BY goles DESC
                        LIMIT 1");
                      
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function getGoleadorPartido($jornada = 0, $jornada_inicial = 0){
        $db = DataBase::conectar();
        
        $lista_actas = $this->getListaActas($jornada, $jornada_inicial);
        
        $db->setQuery("SELECT goles, GROUP_CONCAT(DISTINCT nombre SEPARATOR '@') AS nombre
                        FROM (
                            SELECT (SELECT CONCAT_WS('-', nombre, codequipo) 
					           FROM nfg_cmp_participantes AS a LEFT JOIN `nfg_cmp_participantes_actas` AS b ON a.codparticipante = b.codparticipante 
					           WHERE a.cod_portal = 100 
						          AND b.cod_portal = 100 
		                          AND a.codparticipante = codjugador 
						          AND b.codacta = nfg_cmp_goles.codacta) 
					           AS nombre, 
			                     codjugador, COUNT(codacta) AS goles, codacta 
                            FROM `nfg_cmp_goles` 
                            WHERE cod_portal = 100 
	                           AND codtipogol != 102 
	                           AND codacta > 700000 
	                           AND codacta IN ($lista_actas) 
                            GROUP BY codjugador, codacta 
                            ORDER BY goles DESC) AS datos 
                        GROUP BY goles
                        ORDER BY goles DESC
                        LIMIT 1");
                        
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function getGolRapido($jornada = 0, $jornada_inicial = 0){
        $db = DataBase::conectar();
        
        $lista_actas = $this->getListaActas($jornada, $jornada_inicial);
        
        $db->setQuery("SELECT GROUP_CONCAT(DISTINCT (SELECT CONCAT_WS('-', nombre, codequipo) 
				                                        FROM nfg_cmp_participantes AS a LEFT JOIN `nfg_cmp_participantes_actas` AS b ON a.codparticipante = b.codparticipante 
				                                        WHERE a.cod_portal = 100 
					                                       AND b.cod_portal = 100
					                                       AND a.codparticipante = codjugador
	                                                       AND b.codacta = nfg_cmp_goles.codacta) 
				                            SEPARATOR '@') AS nombre,  `MINUTO` 
                        FROM nfg_cmp_goles 
                        WHERE cod_portal = 100
                            AND codtipogol != 102 
                            AND codacta IN ($lista_actas)
                        GROUP BY minuto
                        ORDER BY minuto ASC 
                        LIMIT 1");
                      
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function getTotalGoles($tipo, $jornada = 0, $jornada_inicial = 0){
        $db = DataBase::conectar();
        
        $lista_actas = $this->getListaActas($jornada, $jornada_inicial);
        
        if($tipo == 100){
            $db->setQuery("SELECT COUNT(*) AS total
                        FROM nfg_cmp_goles
                        WHERE cod_portal = 100
	                       AND codacta IN ($lista_actas)");
        }else{
            
            $db->setQuery("SELECT COUNT(*) AS total
                        FROM nfg_cmp_goles
                        WHERE cod_portal = 100
                           AND codtipogol = '$tipo'
	                       AND codacta IN ($lista_actas)");
        }          
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function getTotalSanciones($tipo, $jornada = 0, $jornada_inicial = 0){
        $db = DataBase::conectar();
        
        $lista_actas = $this->getListaActas($jornada, $jornada_inicial);
        
        if($tipo == 1){
            $db->setQuery("SELECT count(*) AS total
                            FROM nfg_cmp_sanciones 
                            WHERE cod_portal = 100
	                           AND codacta IN ($lista_actas)");
        }else{
            
            $db->setQuery("SELECT count(*) AS total
                            FROM nfg_cmp_sanciones 
                            WHERE cod_portal = 100
	                           AND cod_tiposancion = $tipo
	                           AND codacta IN ($lista_actas)");
        }          
        $result = $db->loadObjectList();
        return $result;
    }
    
    //------------------------CALENDARI----------------------------------
    
    public function getCalendari(){
        $db = DataBase::conectar();
        
        $db->setQuery("SELECT JORNADA, codequipo_casa, codequipo_fuera, 
	                       GROUP_CONCAT(DISTINCT(SELECT CONCAT_WS(' ', nombre_equipo, categoria_club) 
				                                    FROM `nfg_cmp_equipos` 
				                                    WHERE cod_portal = 100
                                                        AND codequipo = codequipo_casa)
                                        SEPARATOR '@') AS equipo_casa, 
	                       GROUP_CONCAT(DISTINCT(SELECT CONCAT_WS(' ', nombre_equipo, categoria_club) 
				                                    FROM `nfg_cmp_equipos` 
				                                    WHERE cod_portal = 100
                                                        AND codequipo = codequipo_fuera)
			                             SEPARATOR '@') AS equipo_fuera, 
	                       (SELECT CONCAT_WS('@', codjornada, LEFT(FECHA, 10)) AS jornada
		                      FROM `nfg_cmp_fechas_jornadas`
		                      WHERE cod_portal = 100
			                     AND codgrupo = $this->grupo
                                 AND codjornada = jornada) AS jornada_fecha
                        FROM `nfg_cmp_actas` 
                        WHERE cod_portal = 100 
	                       AND codgrupo = $this->grupo 
	                       AND codtemporada = $this->temporada
	                       AND jornada > 0 
                        GROUP BY jornada
                        ORDER BY jornada");

        $result = $db->loadObjectList();
        return $result;
    }
    
    //------------------------CLASSIFICACIO------------------------------
    
    public function getClasi($jornada){
        $db = DataBase::conectar();
        
        $db->setQuery("SELECT *, (SELECT nombre_equipo 
                                    FROM `nfg_cmp_equipos` 
                                    WHERE codequipo = codigo_equipo) AS nombre_equipo 
                        FROM `nfg_cmp_clasificaciones` 
                        WHERE cod_portal = 100
                            AND codjornada = '$jornada' 
                            AND codgrupo = '$this->grupo'
                            AND posicion > 0
                        ORDER BY posicion");
                      
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function getPromocion(){
        $db = DataBase::conectar();
            
        $db->setQuery("SELECT *, (SELECT valor 
                                    FROM `nfg_cmp_colores` AS b 
                                    WHERE b.cod_color = a.`COD_COLOR`) AS cod_color 
                        FROM `nfg_cmp_detalle_promociones` AS a 
                        WHERE cod_portal = 100
                            AND cod_tipo_promocion = (SELECT cod_tipo_promocion  
                                                    FROM `nfg_cmp_competiciones` AS a 
                                                    WHERE codcompeticion = '$this->competicion')");
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function racha($equipo, $jornada){
        $db = DataBase::conectar();
            
        $db->setQuery("SELECT codacta, codequipo_casa, codequipo_fuera,
	                       CASE 
		                      WHEN codequipo_casa = $equipo && goles_casa < goles_fuera THEN 'perdido' 
		                      WHEN codequipo_casa = $equipo && goles_casa > goles_fuera THEN 'ganado' 
		                      WHEN codequipo_fuera = $equipo && goles_casa > goles_fuera THEN 'perdido' 
		                      WHEN codequipo_fuera = $equipo && goles_casa < goles_fuera THEN 'ganado'
                              WHEN estado = 0 THEN 'aplazado'
		                      ELSE 'empatado' 
	                       END AS resultado
                        FROM `nfg_cmp_partidos`
                        WHERE cod_portal = 100
                           AND (jornada = $jornada OR jornada = $jornada - 1 OR jornada = $jornada - 2 OR jornada = $jornada - 3 OR jornada = $jornada - 4) 
	                       AND codgrupo = $this->grupo
	                       AND (codequipo_casa = $equipo OR codequipo_fuera = $equipo) 
	                       AND jornada > 0 
                        ORDER BY jornada DESC
                        LIMIT 5");
               
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function rachaPartido($acta){
        $db = DataBase::conectar();
            
        $db->setQuery("SELECT codequipo_casa AS casa, codequipo_fuera AS fuera, IFNULL(goles_casa2, 0) AS goles_casa, IFNULL(goles_fuera2, 0) AS goles_fuera, comienzo1
                        FROM `nfg_cmp_actas`
                        WHERE cod_portal = 100
                            AND codacta = $acta");
                                                
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function rachaPartidoEquipo($equipo){
        $db = DataBase::conectar();
            
        $db->setQuery("SELECT CONCAT_WS('/', path, fichero) AS escudo
                        FROM 
	                       (SELECT b.codigo_fichero, CONCAT_WS(' ', a.`NOMBRE_EQUIPO`, a.`CATEGORIA_CLUB`) AS equipo
				            FROM `nfg_cmp_equipos` AS a LEFT JOIN `nfg_cmp_clubes` AS b ON a.`CODCLUB` = b.`CODCLUB`
				            WHERE codequipo = $equipo) AS club 
				            LEFT JOIN `n_ficheros` AS ficheros 
				            ON club.codigo_fichero = ficheros.codigo_fichero
                        WHERE cod_portal = 100");
                                                
        $result = $db->loadObjectList();
        return $result;
    }
    
    
    //-----------------------RESULTATS---------------------
    
    public function getResultats_old($jornada){
        $db = DataBase::conectar();
            
        $db->setQuery("SELECT codacta, jornada, comienzo1, comienzo2, campo, (SELECT nombre_arbitro 
			                                                         FROM `nfg_cmp_arbitros_actas` AS a LEFT JOIN `nfg_cmp_arbitros` AS b ON a.`CODARBITRO` = b.`CODARBITRO` 
			                                                         WHERE a.cod_portal = 100 
				                                                        AND a.codacta = c.codacta
				                                                        AND a.codtipo_arbitro = 1) AS arbitro, 
	                   (SELECT CONCAT_WS(' ', nombre_equipo, categoria_club) FROM `nfg_cmp_equipos` WHERE cod_portal = 100 AND codequipo = c.codequipo_casa) AS equipo_casa, 
	                   (SELECT CONCAT_WS(' ', nombre_equipo, categoria_club) FROM `nfg_cmp_equipos` WHERE cod_portal = 100 AND codequipo = c.codequipo_fuera) AS equipo_fuera, 
	                   (SELECT CONCAT_WS('/', path, fichero)
		                      FROM `nfg_clubes` AS clubs LEFT JOIN `n_ficheros` AS ficheros ON clubs.codigo_fichero = ficheros.`CODIGO_FICHERO`
		                      WHERE clubs.cod_portal = 100
			                     AND codigo_club = (SELECT codclub 
						                              FROM `nfg_cmp_equipos` 
						                              WHERE cod_portal = 100
							                             AND codequipo = codequipo_casa)) AS escudo_casa,
	                   (SELECT CONCAT_WS('/', path, fichero)
		                      FROM `nfg_clubes` AS clubs LEFT JOIN `n_ficheros` AS ficheros ON clubs.codigo_fichero = ficheros.`CODIGO_FICHERO`
		                      WHERE clubs.cod_portal = 100
			                     AND codigo_club = (SELECT codclub 
						                              FROM `nfg_cmp_equipos` 
						                              WHERE cod_portal = 100
							                             AND codequipo = codequipo_fuera)) AS escudo_fuera,
	                   codequipo_casa, codequipo_fuera, IFNULL(goles_casa2, 0) AS goles_casa, IFNULL(goles_fuera2, 0) AS goles_fuera, cerrada	
                        FROM `nfg_cmp_actas` AS c
                        WHERE cod_portal = 100 
	                       AND codtemporada = '$this->temporada' 
	                       AND codgrupo = '$this->grupo' 
	                       AND jornada = $jornada
                        ORDER BY comienzo1 ASC");
                                                
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function getResultats($jornada){
        $db = DataBase::conectar();
            
        $db->setQuery("SELECT *,
	                       (SELECT nombre_arbitro
	                       FROM nfg_cmp_arbitros_actas a, nfg_cmp_arbitros b
	                       WHERE a.cod_portal = 100
		                      AND b.cod_portal = 100
		                      AND a.codacta = nfg_cmp_partidos.CODACTA
		                      AND a.codarbitro = b.codarbitro
		                      AND a.codtipo_arbitro = 1) AS arbitro,
                           (SELECT campo
	                       FROM nfg_cmp_actas
	                       WHERE cod_portal = 100
		                      AND nfg_cmp_actas.codacta = nfg_cmp_partidos.codacta) AS campo,
                           (SELECT comienzo1
	                       FROM nfg_cmp_actas
	                       WHERE cod_portal = 100
		                      AND nfg_cmp_actas.codacta = nfg_cmp_partidos.codacta) AS fecha
                        FROM nfg_cmp_partidos
                        WHERE cod_portal = 100
	                       AND codgrupo = $this->grupo
	                       AND jornada = $jornada");
                                
        $result = $db->loadObjectList();
        return $result;
    }
    
    //-----------------------SANCIONS---------------------
    
    public function getSancions($jornada){
        $db = DataBase::conectar();
            
        $db->setQuery("SELECT motivo_sancion, articulo_salida, codparticipante 
                FROM `nfg_cmp_sanciones` AS a
                WHERE cod_portal = 100
	               AND partidos_sancion > 0 
	               AND codacta IN (SELECT codacta 
                                     FROM `nfg_cmp_actas` AS c 
			                         WHERE cod_portal = 100 
				                        AND codtemporada = $this->temporada
				                        AND codgrupo = $this->grupo 
				                        AND jornada = $jornada
			                         ORDER BY comienzo1 ASC)
                ORDER BY fecha_comite DESC");
                                
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function getDatosSancion($participante){
        $db = DataBase::conectar();
            
        $db->setQuery("SELECT 
	                       (SELECT nombre FROM `nfg_tipos_licencias` WHERE `CODIGO_TIPO_LICENCIA` = `TIPO_LICENCIA`) AS licencia,
	                       (SELECT nombre FROM `nfg_cmp_participantes` WHERE `CODPARTICIPANTE` = $participante) AS nombre,
	                       MAX(codacta) AS maximo
                        FROM `nfg_cmp_participantes_actas`
                        WHERE cod_portal = 100
	                       AND codparticipante = $participante
                        GROUP BY codparticipante
                        ORDER BY codparticipante DESC");
                                                
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function getClubSancion($participante, $acta){
        $db = DataBase::conectar();
            
        $db->setQuery("SELECT 
	                       (SELECT CONCAT_WS('@', nombre_club, CONCAT_WS('/', path, fichero ))
	                       FROM `nfg_cmp_clubes` AS c LEFT JOIN `n_ficheros` AS d ON c.codigo_fichero = d.codigo_fichero
	                       WHERE c.codclub = b.codclub) AS club
                        FROM `nfg_cmp_participantes_actas` AS a LEFT JOIN `nfg_cmp_equipos` AS b ON a.`CODEQUIPO` = b.`CODEQUIPO`
                        WHERE a.cod_portal = 100
	                       AND codparticipante = $participante
	                       AND codacta = $acta");
                                                
        $result = $db->loadObjectList();
        return $result;
    }
    
    //-----------------------GOLEJADORS---------------------
    
    public function getGolejadors(){
        $db = DataBase::conectar();
            
        $db->setQuery("SELECT (SELECT codequipo FROM `nfg_cmp_participantes_actas` WHERE cod_portal = 100 AND codparticipante = codjugador AND codacta = MAX(a.codacta)) AS codequipo,
	                       codjugador, COUNT(codjugador) AS goles, COUNT(CASE WHEN codtipogol = 101 THEN 1 END) as penalti
                        FROM `nfg_cmp_goles` AS a LEFT JOIN `nfg_cmp_actas` AS b ON a.codacta = b.`CODACTA`
                        WHERE a.cod_portal = 100
	                       AND codtemporada = $this->temporada
                           AND codgrupo = $this->grupo
                           AND codtipogol != 102
                        GROUP BY codjugador
                        ORDER BY goles DESC");
                                                
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function getNombreParticipante($jugador){
        $db = DataBase::conectar();
            
        $db->setQuery("SELECT nombre 
                        FROM `nfg_cmp_participantes` 
                        WHERE cod_portal = 100 
                            AND codparticipante = $jugador");
                                                
        $result = $db->loadObjectList();
        return $result;
    }    
            
    public function getPartidosJugados($jugador){
        $db = DataBase::conectar();
            
        $db->setQuery("SELECT COUNT(*) as total
                        FROM `nfg_cmp_actas`
                        WHERE cod_portal = 100
	                       AND codtemporada = 10
               	           AND codgrupo = $this->grupo
	                       AND (codacta IN (SELECT codacta FROM `nfg_cmp_participantes_actas` WHERE cod_portal = 100 AND `CODPARTICIPANTE` = $jugador AND titular = 1) OR
	                            codacta IN (SELECT codacta FROM `nfg_cmp_sustituciones` WHERE cod_portal = 100 AND codjugador_entra = $jugador))");
                                                
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function getNombreEscudo($equipo){
        $db = DataBase::conectar();
            
        $db->setQuery("SELECT CONCAT_WS(' ', nombre_equipo, categoria_club) AS equipo,
                        (SELECT CONCAT_WS('/', path, fichero) FROM n_ficheros AS c WHERE c.codigo_fichero = b.`CODIGO_FICHERO`) AS fichero
                        FROM `nfg_cmp_equipos` AS a LEFT JOIN `nfg_cmp_clubes` AS b ON a.codclub = b.`CODCLUB`
                        WHERE a.cod_portal = 100 
                            AND codequipo = $equipo ");
                                                       
                                                
        $result = $db->loadObjectList();
        return $result;
    }
    
    //-----------------------ACTAS---------------------
    
    public function getActa($acta){
        $db = DataBase::conectar();
            
        $db->setQuery("SELECT codparticipante, tipo_licencia, codequipo, capitan, titular, dorsal, es_jugador, es_tecnico, es_delegado, es_futbol_sala, es_futbol_playa, descripcion,
                           (SELECT nombre FROM `nfg_cmp_participantes` AS participante 
		                      WHERE cod_portal = 100 
			                     AND a.`CODPARTICIPANTE` = participante.codparticipante) AS nombre,
	                       (SELECT 1 FROM `nfg_cmp_participantes_porteros` AS c 
		                      WHERE cod_portal = 100 
			                     AND a.`CODPARTICIPANTE` = c.codparticipante 
			                     AND a.`CODACTA` = c.codacta) AS portero,
	                       (SELECT GROUP_CONCAT(CONCAT_WS('-', codtipogol, minuto) ORDER BY minuto SEPARATOR '@') 
		                      FROM `nfg_cmp_goles` AS d 
		                      WHERE cod_portal = 100 
			                     AND a.`CODPARTICIPANTE` = d.codjugador 
			                     AND a.`CODACTA` = d.codacta
		                      GROUP BY d.codjugador) AS goles,
	                       (SELECT GROUP_CONCAT(CONCAT_WS('-', codtipo_amonestacion, minuto) ORDER BY minuto SEPARATOR '@') 
		                      FROM `nfg_cmp_amonestaciones` AS e 
		                      WHERE cod_portal = 100 
			                     AND a.`CODPARTICIPANTE` = e.codparticipante
			                     AND a.`CODACTA` = e.codacta
		                      GROUP BY e.codparticipante) AS amonestaciones,
	                       (SELECT GROUP_CONCAT(CONCAT_WS('-', IF(codjugador_entra = a.codparticipante, 'entra', 'sale'), minuto) ORDER BY minuto SEPARATOR '@')
		                      FROM `nfg_cmp_sustituciones`
		                      WHERE cod_portal = 100
			                     AND codacta = a.codacta
			                     AND (codjugador_entra = a.`CODPARTICIPANTE` OR codjugador_sale = a.`CODPARTICIPANTE`)
                        GROUP BY codjugador_entra OR codjugador_sale) AS sustituciones
                        FROM `nfg_cmp_participantes_actas` AS a LEFT JOIN nfg_tipos_licencias AS b 
	                           ON a.`TIPO_LICENCIA` = b.codigo_tipo_licencia
                        WHERE a.cod_portal = 100
	                       AND b.cod_portal = 100
	                       AND a.codacta = $acta
                        ORDER BY dorsal ASC");
                                                
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function getActaSustituciones($acta){
        $db = DataBase::conectar();
            
        $db->setQuery("SELECT codjugador_entra, codjugador_sale, minuto,
	                       (SELECT CONCAT_WS('@', codequipo, dorsal)
		                      FROM `nfg_cmp_participantes_actas` b
		                      WHERE cod_portal = 100
			                     AND codacta = $acta
			                     AND codparticipante = a.`CODJUGADOR_ENTRA`) AS equipo_dorsal_entra,
	                       (SELECT CONCAT_WS('@', codequipo, dorsal)
		                      FROM `nfg_cmp_participantes_actas` b
		                      WHERE cod_portal = 100
			                     AND codacta = $acta
			                     AND codparticipante = a.`CODJUGADOR_SALE`) AS equipo_dorsal_sale,
	                       (SELECT nombre
		                      FROM `nfg_cmp_participantes` AS entra
		                      WHERE cod_portal = 100
			                     AND entra.codparticipante = codjugador_entra) AS nom_entra,
	                       (SELECT nombre
		                      FROM `nfg_cmp_participantes` AS sale
		                      WHERE cod_portal = 100
			                     AND sale.codparticipante = codjugador_sale) AS nom_sale
                        FROM `nfg_cmp_sustituciones` a
                        WHERE cod_portal = 100
	                       AND codacta = $acta
                        ORDER BY minuto, equipo_dorsal_entra");
                                                
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function getDesignacionArbitros($designacion){
        $db = DataBase::conectar();
            
        $db->setQuery("SELECT a.codtipo_arbitro, a.codarbitro, b.`NOMBRE_ARBITRO`
                        FROM `nfg_ca_designaciones_arbitros` AS a LEFT JOIN `nfg_cmp_arbitros` AS b ON a.`CODARBITRO` = b.`CODARBITRO`
                        WHERE a.cod_portal = 100
	                       AND b.`COD_PORTAL` = 100
	                       AND coddesignacion = $designacion");
                                                
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function getInfo($acta){
        $db = DataBase::conectar();
            
        $db->setQuery("SELECT *, 
	                       (SELECT poblacion
		                      FROM `adm_carga_poblaciones`
		                      WHERE codigo_ine = localidad
		                      ORDER BY NUMERO_REPETICIONES DESC
		                      LIMIT 1) AS ciudad
                        FROM nfg_cmp_actas AS a LEFT JOIN nfg_campos AS b ON a.`CODIGO_CAMPO` = b.`CODIGO_CAMPO` 
                        WHERE a.cod_portal = 100
	                       AND b.cod_portal = 100
	                       AND codacta = $acta");
                                                
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function getEquipoActa($equipo){
        $db = DataBase::conectar();
            
        $db->setQuery("SELECT codequipo, CONCAT_WS('', nombre_equipo, ' \"', categoria_club, '\" ') AS nombre,
	                       (SELECT CONCAT_WS('/', path, fichero)
	                           FROM n_ficheros AS c
	                           WHERE cod_portal = 100
		                          AND c.codigo_fichero = b.codigo_fichero) AS escudo
                        FROM `nfg_cmp_equipos` AS a LEFT JOIN `nfg_cmp_clubes` AS b ON a.`CODCLUB` = b.`CODCLUB`
                        WHERE a.cod_portal = 100
	                       AND b.cod_portal = 100
                            AND codequipo = $equipo");
                                                
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function getActas(){
        $db = DataBase::conectar();
            
        $db->setQuery("SELECT codacta,
(SELECT CONCAT_WS('@', cod_temporada, nombre)
FROM nfg_temporadas
WHERE cod_portal = 100
AND codtemporada = cod_temporada) AS temporada,
(SELECT d.nombre
FROM nfg_cmp_grupos a, `nfg_cmp_competiciones_categorias` b, nfg_categorias c, nfg_cmp_grupos_categorias d
WHERE a.cod_portal = 100
AND b.cod_portal = 100
AND c.cod_portal = 100
AND d.cod_portal = 100
AND a.codgrupo = actas.`CODGRUPO`
AND a.codcompeticion = b.codcompeticion
AND b.codcategoria = c.codigo_categoria
AND c.cod_grupo_categoria = d.cod_grupo_categoria
LIMIT 1) AS tipo,
(SELECT CONCAT_WS('@', b.codcompeticion, REPLACE(b.nombre_competicion, ' ', '-'))
FROM nfg_cmp_grupos a, nfg_cmp_competiciones b
WHERE a.cod_portal = 100
AND b.cod_portal = 100
AND a.codgrupo = actas.`CODGRUPO`
AND a.codcompeticion = b.codcompeticion) AS competicion,
(SELECT CONCAT_WS('@', codgrupo, REPLACE(nombre, ' ', '-')) 
FROM nfg_cmp_grupos AS grupos
WHERE grupos.cod_portal = 100
AND grupos.codgrupo = actas.`CODGRUPO`) AS grupo,
(SELECT CONCAT_WS('@', codequipo, CONCAT_WS('-', nombre_equipo, categoria_club))
FROM nfg_cmp_equipos
WHERE cod_portal = 100
AND codequipo_casa = codequipo) AS equipo_local,
(SELECT CONCAT_WS('@', codequipo, CONCAT_WS('-', nombre_equipo, categoria_club))
FROM nfg_cmp_equipos
WHERE cod_portal = 100
AND codequipo_fuera = codequipo) AS equipo_fuera
FROM nfg_cmp_actas AS actas
WHERE cod_portal = 100");
                                                
        $result = $db->loadObjectList();
        return $result;
    }
    
    //-----------------------------------------EQUIP------------------------------
    
    public function getEquipDatos($equipo){
        $db = DataBase::conectar();
            
        $db->setQuery("SELECT *,(SELECT nombre
	                               FROM nfg_categorias
	                               WHERE cod_portal = 100
		                              AND nfg_categorias.CODIGO_CATEGORIA = nfg_equipos.codigo_categoria) AS categoria,
                                (SELECT poblacion
	                               FROM `adm_carga_poblaciones`
	                               WHERE codigo_ine = cor_localidad
	                               ORDER BY numero_repeticiones
	                               LIMIT 1) AS localidad,
                                (SELECT nombre
	                               FROM `nfg_provincias`
	                               WHERE codigo_provincia = cor_provincia) AS provincia,
	                            (SELECT nombre
	                               FROM `nfg_campos`
	                               WHERE cod_portal = 100
		                              AND codigo_campo = jugar_campo) AS juega_campo,
	                            (SELECT nombre
	                               FROM `nfg_campos`
	                               WHERE cod_portal = 100
		                              AND codigo_campo = entrenar_campo) AS entrena_campo,
                                (SELECT web
	                               FROM nfg_clubes
	                               WHERE cod_portal = 100
		                              AND nfg_clubes.codigo_club = nfg_equipos.codigo_club) AS web,	
                                (SELECT CONCAT_WS('/', b.path, b.fichero) AS escudo
                                   FROM nfg_clubes a, n_ficheros b
	                               WHERE a.cod_portal = 100
		                              AND b.cod_portal = 100
		                              AND a.`CODIGO_FICHERO` = b.`CODIGO_FICHERO`
		                              AND a.`CODIGO_CLUB` = `nfg_equipos`.`CODIGO_CLUB`) AS escudo,	
                                IF(entrenar_lunes = 1, 'Dilluns', '') AS en_lunes,
	                            IF(entrenar_martes = 1, 'Dimarts', '') AS en_martes,
	                            IF(entrenar_miercoles = 1, 'Dimecres', '') AS en_miercoles,
	                            IF(entrenar_jueves = 1, 'Dijous', '') AS en_jueves,
	                            IF(entrenar_viernes = 1, 'Divendres', '') AS en_viernes,
                                IF(entrenar_sabado = 1, 'Disabte', '') AS en_sabado,
	                            IF(entrenar_domingo = 1, 'Diumenge', '') AS en_domingo
                                FROM `nfg_equipos`
                                WHERE cod_portal = 100
	                               AND codigo_equipo = $equipo");
                                                
        $result = $db->loadObjectList();
        return $result;
    }
    
    public function getLicencias($equipo){
        $db = DataBase::conectar();
        
        $db->setQuery("SELECT GROUP_CONCAT(DISTINCT codacta SEPARATOR ', ') AS lista
                        FROM nfg_cmp_actas
                        WHERE cod_portal = 100
	                       AND codtemporada = 10
                           AND (codequipo_casa = $equipo OR codequipo_fuera = $equipo)
                        GROUP BY cod_portal	");
                                                
        $actas = $db->loadObjectList();
        $actas = $actas[0]->lista;
            
        $db->setQuery("SELECT * 
                        FROM nfg_cmp_participantes_actas a, nfg_cmp_participantes b
                        WHERE a.cod_portal = 100
	                       AND b.cod_portal = 100
                           AND `codequipo` = $equipo
                           AND a.`CODPARTICIPANTE` = b.`CODPARTICIPANTE`
	                       AND codacta IN ($actas)
                        GROUP BY a.codparticipante");
                                                
        $result = $db->loadObjectList();
        return $result;
    }
    
}
?>